草庐IT

Hibernate-Validator

全部标签

java - hibernate validator 。如何使用@Valid 注解?

@Valid注解放在方法参数层的目的是什么?publicvoid(@ValidPersonp){...}我创建了一个测试,并向该方法传递了一个无效对象,但没有任何反应。我希望得到一个异常(exception)。 最佳答案 对象上的@Valid注释指示验证框架处理带注释的对象。当用于方法的参数时,这称为方法级别验证。请注意,方法级验证不是核心规范的一部分,实际上只有当BeanValidation集成到容器类型框架(JSF、CDI、JavaEE).当BeanValidation集成到这样的支持容器中时,会发生这样的情况,即在bean上调

java - onSave()(对于使用 Hibernate/Spring Data Repositories 保存的任何实体)

如果我的实体有计算字段,应该在保存到数据库之前更新(dbinsert或update),如何在Hibernate或SpringDataRepositorysave()之前Hook方法调用? 最佳答案 我认为对你来说最好的选择是EntityListener使用@PrePersist和@PreUpdate注释,为你的实体监听器创建配置您将可以访问要保存的每个实例,每次您尝试使用hibernate或spring数据存储库保存或更新某些内容时都会调用此方法publicclassEntityToPersistListener{@PrePersi

java - 在 hibernate 中更新对象的字段

我有一个objectA映射到数据库中的tableAclassA{Integerid;Stringfield2,field2;field3,...fieldN;//lotsofotherattribute}现在我想写一个只更新单个字段的DAOapi。一种方法是我可以先加载对象,然后更改我需要的属性,然后使用合并api//starttranscationAa=session.load(A.class,id);A.setfieldP(newValue)session.merge(A)//committranscation现在如果我使用下面的代码//starttranscationAa=new

java - 仅将日期的日期部分与 Hibernate 中的时间戳进行比较

我在数据库中有时间戳,在应用程序中我有日期。我喜欢以这样的方式编写hibernate标准,即hibernate可以提取与日期匹配的所有条目,而不是时间部分。例如在数据库时间戳中2011-12-0115:14:14在应用程序中我确实有java.util.Date,默认情况下它有时间部分。我的问题是,当我使用以下代码从数据库中搜索条目时,我一无所获DetachedCriteriacriteria=DetachedCriteria.forClass(MyClass.class);criteria.add(Restrictions.like(TIMESTAMP_FIELD,javaUtilDa

java - 为什么Hibernate STRING无法解析?

我刚刚下载了新版本的Hibernate4.0.1最终版本。很奇怪,当我输入以下代码时:Hibernate.STRINGeclipseIDE显示STRING关键字错误。我确定我的构建路径中有hibernatejar,并且还包含以下代码:importorg.hibernate.Hibernate;我只是想知道为什么会发生这种情况? 最佳答案 因为thatfielddoesn'texistin4.0.fielddocumentationin3.5是这样说的:Deprecated.seehttp://opensource.atlassian

java - JPA/Hibernate 双向多对一导致 StackOverflowException

我有具有双向一对多关系的实体User和GrantedRole。当我尝试将GrantedRole添加到User中的Set时,没有抛出异常,但是当我调试User和GrantedRole对象的变量时,有一个描述com.sun.jdi.InvocationExceptionoccurredinvokingmethod.变量的不同字段可以在调试时读取,但是当我选择User中的roles字段或GrantedRole中的user字段时,我得到与上面相同的描述。当我进入用户中的GrantedRole集合时,我最终找到了以下描述:Detailformattererror:Anexceptionoccur

java - 使用 Hibernate 获取重复条目

我在使用JPA/Hibernate时遇到了一个奇怪的问题。我在测试期间看到重复的条目。这是我的BaseEntity类:@Entity@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)publicabstractclassBaseEntity{@Id@Column(name="ID",updatable=false,nullable=false)@GenericGenerator(name="uniqueIDGenerator",strategy="org.hibernate.id.enhanced.SequenceStyleGe

java - Hibernate:实体内部类没有默认构造函数

我意识到有很多类似的问题,但没有一个能帮助我解决这个问题。我正在使用一个名为Tynamo的CRUD框架,它又依赖于ApacheTapestry和Hibernate。这一切都很好,除了当我尝试将它用于具有复合/复合主键的表上的CRUD时。我决定不采用@EmbeddedId路线,因为它似乎根本不适用于该框架。话虽如此,我一直在使用@IdClass方法,该方法大部分都有效;我认为我距离成功只有一两行代码。问题是,当它开始使用反射来构建对象时,它会爆炸并说,org.hibernate.InstantiationException:Nodefaultconstructorforentity:..

java - JPA/Hibernate - 嵌入属性

我在映射类的嵌入式属性时遇到问题。我创建了一些类,这些类与我试图说明的类相似。基本上,我有一个使用继承的@Embeddable类层次结构。顶级类“PartNumber”只有一个属性,扩展类不向“PartNumber”类添加任何属性,它们只添加一些验证/逻辑。我的意思是:部分@Entity@Table(name="PART")publicclassPart{privateIntegerid;privateStringname;privatePartNumberpartNumber;@Id@GeneratedValue(strategy=GenerationType.SEQUENCE)pu

java - 对象属性的 Hibernate 条件/查询

我有一个类AppUser;classAppUser{privateStringfirstName;privateStringlastName;//--gettersandsetters}我还有一个类(class)Student;classStudent{privateAppUserappUser;privateDatedateOfBirth;//--gettersandsetters}我如何搜索学生JohnDoe、firstNameJohn、lastNameDoe?如果它是出生日期属性,我会创建一个Criteria并在日期上添加一个相等限制(Restritions.eq)。我将如何为A