小编yoz*_*ozh的帖子

如何在Spring中引用属性中的常量

我需要指定String常量作为属性的值:

<int:header name="importedFilename" />
Run Code Online (Sandbox Code Playgroud)

这里"importedFilename"不应该是硬编码的,而是取自Constants.IMPORTED_FILENAME_HEADER静态字段中的fe .有办法吗?"int"是Spring Integration命名空间btw.此外,似乎没有适当的bean定义替换int:header- 所以我不能使用<bean class="Header">....

java spring

16
推荐指数
2
解决办法
3万
查看次数

在使用JAXB解组时重写声明的编码

我有一个XML文件及其编码设置:<?xml version="1.0" encoding="ISO-8859-15"?>但真正的文件是用UTF-8编码的.有没有办法在使用JAXB解组时覆盖XML文件中声明的编码?

java encoding jaxb unmarshalling

10
推荐指数
1
解决办法
2万
查看次数

HIbernate为MySQL生成多个连接(对多对多)的错误查询

我遇到了Hibernate + MySQL的麻烦.最初问题出现在我们开发的系统中,后来我设法在小型测试项目中重现它.

因此,有4个实体:人,事件,城市,货币.除货币之外的每个实体与下一个实体具有多对多的单向关系:人有很多事件,事件有很多城市,城市有很多货币.Hibernate配置通过注释完成.

这就是城市的样子,其他实体以同样的方式构建.

@Entity
@Table(name = "CITY")
public class City {
    private Long id;
    private String name;
    private Set<Currency> currencies = new HashSet<Currency>();

    // setters, getters...

    @ManyToMany
    @JoinTable(name = "CITY_CURRENCY", 
            joinColumns = @JoinColumn(name="CITY_ID"),
            inverseJoinColumns = @JoinColumn(name="CURRENCY_ID"))
    public Set<Currency> getCurrencies() {
        return currencies;
    }
}
Run Code Online (Sandbox Code Playgroud)

好的,现在到了这一点.假设,我想获取有关人员的所有信息,即查询所有表,将他们与从Person开始的左连接一起加入.

这种情况的HQL查询如下所示:

from Person as person 
left outer join person.events as event
left outer join event.cities as city 
left outer join city.currencies as currency
Run Code Online (Sandbox Code Playgroud)

这很有效.但我们使用标准,所以我使用条件API编写类似的(我认为)查询:

Criteria crit = session.createCriteria(Person.class, "person");
crit.createAlias("person.events", "event", Criteria.LEFT_JOIN);
crit.createAlias("event.cities", …
Run Code Online (Sandbox Code Playgroud)

java mysql hibernate

5
推荐指数
0
解决办法
1327
查看次数

标签 统计

java ×3

encoding ×1

hibernate ×1

jaxb ×1

mysql ×1

spring ×1

unmarshalling ×1