草庐IT

Hibernate-Validator

全部标签

java - 如何禁用双向关联的 Hibernate 外键约束?

我正在尝试禁用在我的双向关联上生成的外键约束。我已设法为所有单向关联执行此操作,但出于某种原因,它在这里不起作用。我确实知道最近在Hibernate5.x中修复的ContraintMode.NO_CONSTRAINT错误,并且我正在运行最新的Hibernate5.2.6。我的注释目前看起来像这样:classParent{@OneToMany(mappedBy="parent",cascade=CascadeType.ALL,orphanRemoval=true)@OrderColumn(name="childIndex")publicListgetChildren(){returnch

java - Hibernate 与 sqlserver 死锁问题

以下是两个表及其实体类。tbl_rules|规则编号|规则名称|@Entity@Table(name="db_user_name.tbl_rules")publicclassRuleimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@Id@Basic(optional=false)@GenericGenerator(name="incre",strategy="increment")@GeneratedValue(generator="incre")@Column(name="rule_id",unique

java - Java 和 Hibernate 的继承 - 更新类型转换

我的类(class)有以下层次结构@Entity@Table(name="Parent")@Inheritance(strategy=InheritanceType.SINGLE_TABLE)publicclassParent{}@Entity@DiscriminatorVlaue("FirstChild")publicclassFirstChildextendsParent{}@Entity@DiscriminatorVlaue("SecondChild")publicclassSecondChildextendsParent{}这会按预期创建一个表Parent。我的应用中的一些业务

java - 在 Hibernate 中映射多级继承

目前我有这样的结构:A|+--B|+--C它使用连接表为每个子类映射一个表。由于历史原因,我也使用了鉴别器,所以目前的情况如Section9.1.3oftheHibernatemanual所述。.问题:如何为这样的结构扩展映射:A|+--B|||D|+--C我可以一个在hibernate映射中?什么我需要什么? 最佳答案 未测试但是,如果您使用的是hibernate3,则根据您发布的链接 关于java-在Hibernate中映射多级继承,我们在StackOverflow上找到一个类似的问

java - hibernate 和享元

有没有一种方法可以将享元对象与hibernate持久性映射一起使用?我的数据模型包含许多相同的对象。我不想为每个相同的对象创建一个单独的实例,而是使用享元设计模式并始终引用相同的物理对象。如何在hibernate中实现这一点?顺便说一句。是否所有JVM都以某种方式优化了字符串的使用,使得当同一个字符串被多次使用时,它始终是同一个物理实例? 最佳答案 视情况而定。对于只读值,您可以通过创建自定义UserType轻松实现享元模式,该自定义UserType每次都会从池中返回对象而不是新实例。对于实体,Hibernate默认情况下是理智的,

java - 独立字节码 validator

在我的字节码检测项目中,我经常遇到VerifyErrors。但是,默认的javaVerifier几乎没有提供有关导致错误的指令的信息(它仅提供了方法和一条小消息)。是否有任何独立的字节码validator可以提供更高级的帮助来定位错误,至少是精确的指令位置?谢谢。 最佳答案 与任何涉及JVM字节码的项目一样,我会首先检查BCEL是否存在。有任何可能对你有用的东西。另外,也许FindBugs可能会有所帮助-尽管我不确定它是否假定以可验证的字节码开头。 关于java-独立字节码validat

java - Hibernate 因在 ManyToMany 关联上将完全限定的类名添加到属性名而失败

我正在尝试使用ManyToMany关联将两个对象相互映射,但是由于某种原因,当我使用mappedBy属性时,hibernate似乎对我正在映射的内容感到困惑。我的映射唯一奇怪的地方是关联不是在其中一个条目的主键字段上完成的(尽管该字段是唯一的)。表格是:Sequence(idNUMBER,referenceVARCHAR,)Project(idNUMBER)Sequence_Project(proj_idnumberreferencesProject(id),referencevarcharreferencesSequence(reference))对象看起来像(注释在getter上,

java - 不支持 @Any 注释的 Hibernate 3.5 或 3.6?

我目前正在进行系统迁移(从使用JPA1的hibernate3.2.2.GA到使用JPA2的hibernate3.6。迁移本身非常简单,没有重大更新要做(事实上,我不认为有任何)。我面临的问题是hibernate在运行时抛出异常,提示@Any注释。堆栈跟踪如下:Causedby:java.lang.UnsupportedOperationException:anynotsupportedyetatorg.hibernate.ejb.metamodel.AttributeFactory.determineAttributeMetadata(AttributeFactory.java:452

java - 使用 @Where 子句的 Hibernate @OneToOne 映射

这行吗-@OneToOne()@JoinColumn(name="id",referencedColumnName="type_id")@Where(clause="type_name=OBJECTIVE")publicNoteEntitygetObjectiveNote(){returnobjectiveNote;}这就是我想要做的-从note表中获取记录,其type_id是当前对象的id和type_name是OBJECTIVE。我无法使上述映射工作。我在这里做错了什么? 最佳答案 这只是简单的行不通,抱歉:(您将需要以一对多的方

java - 如何在Hibernate中调用存储过程?

我在Oracle数据库中有一个存储过程。GET_VENDOR_STATUS_COUNT(DOCUMENT_IDINNUMBER,NOT_INVITEDOUTNUMBER,INVITE_WITHDRAWNOUTNUMBER,...其他参数为OUT参数。在我的hbm文件中,我写了以下内容:{callGET_VENDOR_STATUS_COUNT(:DOCUMENT_ID,:NOT_INVITED,:INVITE_WITHDRAWN,:INVITED,:DISQUALIFIED,:RESPONSE_AWAITED,:RESPONSE_IN_PROGRESS,:RESPONSE_RECEIVE