草庐IT

Hibernate-Validator

全部标签

java - hibernate JTA : Read DB connection parameters per environment

我正在使用hibernate编写一个javaEE应用程序。该应用程序将在多个环境(dev、qa、prod等)上运行,并且每个环境都有单独的数据库。我想为每个环境分别设置jdbc-url、用户名、密码等hibernate属性。我当前的persistence.xml看起来像:org.hibernate.ejb.HibernatePersistenceCALLBACK我在我的java代码中使用如下持久性单元:@PersistenceContext(unitName="PU")privateEntityManagerem;有没有一种方法可以将存储在单独属性文件中的hibernate属性注入(i

java - 如何更改 Hibernate CharacterTypeDescriptor 以处理空列值

我们的问题是由于源自Hibernate的字符类型描述符。我们想更改Hibernate的行为以正确解析空字符串。示例数据:1,'Berlin',17277,'','aUser'2,'London',17277,'','anotherUser'我们将hibernate与javax.persistence.Query结合使用。Stringsql="SELECT*FROMtable";Queryquery=entityManager.createNativeQuery(sql);ListresultList=query.getResultList();这会导致StringIndexOutOfB

java - Hibernate:session.load 与 session.get

我的印象是session.load()在缓存中加载代理对象,而session.get()总是访问数据库,但之后我很困惑观看JavaBrainsvideo.根据这个视频,当我们调用下面的get方法时,它正在内存中加载UserDetails的代理对象。user=(UserDetails)session.get(UserDetails.class,1);UserDetails的结构是在评论区,有人评论道:thereisnoproxyofUserclass,insteadtheproxyobjectofthecollectioniscreated.现在这里有两个问题。1st:Relatedto

java - 如何使用 Hibernate/JPA 2 实现 Spring Security 用户/权限?

我正在尝试实现DAO以在Hibernate/JPA2中使用SpringSecurity数据库身份验证。Spring使用以下关系和关联来表示用户和角色:表示为postgresql创建查询:CREATETABLEusers(usernamecharactervarying(50)NOTNULL,"password"charactervarying(50)NOTNULL,enabledbooleanNOTNULL,CONSTRAINTusers_pkeyPRIMARYKEY(username));CREATETABLEauthorities(usernamecharactervarying(

java - 如何使用 Hibernate 注释在连接表上创建索引?

我使用Hibernate注释有如下关系,这是我尝试过的:publicclassJob{...@OneToMany(cascade=CascadeType.ALL)@JoinTable(name="jobs_resource_locations")@ForeignKey(name="job_inputs_fk")@Index(name="job_inputs_fk")privateListinputs;这种事情在ManyToOne上工作得很好,就像这样:@ManyToOne@JoinColumn(name="service_call_id",referencedColumnName="i

java - hibernate 批量更新后清除 session 、刷新、刷新?

我们知道,当使用hibernate对数据库进行批量更新时(即使在HQL中),所做的更改不会复制到存储在当前session中的实体。所以我可以调用session.refresh来加载对我的session实体的修改。我们经常调用flush将我们的修改发送到数据库,但文档说它“同步”session和数据库...这是否意味着flush能够为我的session实体设置好的新数据库值?或者flush最终会用存储在实体中的旧值删除我的新数据库值?(顺便说一句,如果hibernate的行为是第一个,它如何检测哪个是“好的值(value)”?)。如果我不能在这种情况下使用flush,最好在每次批量更新后

java - 需要了解Hibernate配置的transaction.factory_class

在我的hibernate.cfg.xml文件中,其中一个属性是-org.hibernate.transaction.JDBCTransactionFactory其他属性很容易理解。但是,当我看到上述属性时,我想到了很多问题。第1行-这指定了实现Transaction*Factory*接口(interface)的类。Q1-我看到了TransactionFactory的java文档,但不明白它到底是什么。这个“工厂”是什么意思?他们为什么不按照行称它为TransactionGenerator-ContractforgeneratingHibernateTransactioninstance

java - 强制 hibernate 在不更改映射的情况下急切地加载多个关联

我有一些具有惰性一对多关系的实体(为简洁起见省略了逻辑):@EntityclassA{@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL)@JoinColumn(name="a_pk",nullable=false)Listblist=newArrayList();@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL)@JoinColumn(name="a_pk",nullable=false)Listclist=newArrayList();@Column(name=

java - 新 gTLDS 的 apache commons-validator 替代品

我需要验证电子邮件和域。我只需要正式验证,不需要whois或其他形式的域查找。目前我正在使用apache的commons-validatorv1.4.0不幸的是,我的客户使用DomainValidator类尚不支持的新gTLD,例如.bike或.productions。参见Apache'sJiraissue了解更多详情。是否有任何我可以轻松包含在我的MavenPOM中的可靠替代方案? 最佳答案 如果您不关心国际化地址,您可以更改地址的最后一部分,并继续使用Apachecommons。这种方法是基于这样一个事实,即无论TLD是什么,整

java - Hibernate 在关系中创建错误的实体子类型

我有一个奇怪的问题,即hibernate不会在多对一关系中创建预期的实体类型。我们有以下具有子类层次结构的实体(简化):@Entity@Table(name="A")@Inheritance(strategy=InheritanceType.SINGLE_TABLE)@DiscriminatorColumn(name="DISCRIMINATOR",discriminatorType=DiscriminatorType.STRING,length=1)publicabstractclassA{@Id...publicLonggetId(){...}...}@Entity@Discrim