我有一个电影租赁系统的现有数据库。 每部电影都有一个评级属性。 在SQL中,他们使用一个约束来限制这个属性的允许值。 CONSTRAINT film_rating_check CHECK ((((((((rating)::text = ''::text) OR ((rating)::text = 'G'::text)) OR ((rating)::text = 'PG'::text)) OR ((rating)::text = 'PG-13'::text)) OR ((rating)::text = 'R'::text)) OR ((rating)::text = 'NC-17'::text))) 我认为使用Java枚举将约束映射到对象世界将会很好。 但是由于“PG-13”和“NC-17”中的特殊字符,不可能简单地取得所允许的值。 所以我实现了以下枚举: public enum Rating { UNRATED ( "" ), G ( "G" ), PG ( "PG" ), PG13 ( "PG-13" ), R ( "R" […]