Semantical Error - Couldn't find constant X, class... ERROR
I think it's because you aren't using speech marks around your table name.
@ORM\Table(production-type) // meant (constant) production minus (constant) type
where as you should use
@ORM\Table("production-type")
And it may make more sense to use production_type
to stop the need to quotation marks around the table name in MySQL statements.