当前位置:  开发笔记 > 数据库 > 正文

Hibernate Validator:hbm2ddl忽略EmbeddedId约束

如何解决《HibernateValidator:hbm2ddl忽略EmbeddedId约束》经验,为你挑选了0个好方法。

这里有一个相当具体的问题,但它现在
让我烦恼了一天:我在PostgreSQL 8.3上使用Hibernate Core,Annotations&Validator.

我有以下类设置:

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class Entry {
    @EmbeddedId
    protected EntryPK       entryPK;
    @ManyToMany
    private Set    comments    = new HashSet();
...

@Embeddable
public class EntryPK implements Serializable {
    @ManyToOne(cascade = CascadeType.ALL)
    private Database    database;

    @Length(max = 50)
    @NotEmpty
    private String      pdbid;
...

我想看看长度约束在我的PostgreSQL数据库中转换为长度约束(它适用于@ Entity中的其他字段,而不是@ Embeddable's),但它似乎并不想工作..
甚至使用@IdClass代替@EmbeddedId并在@Entity中的匹配字段上应用Length约束并没有解决这个问题:数据库字段仍然是varchar 255(大约250太大了,不能满足我的需要).
有些人可能会说我不应该关心这个详细程度,但我的OCD方面拒绝放手......;)是不是可以在EmbeddedId中使用Hibernate Validator Annotations并让hbm2ddl将约束应用于数据库字段?

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有