小编Tom*_*m11的帖子

用于选择多个值的Hibernate查询

在休眠中我可以做到以下

Query q = session.createQuery("from Employee as e);
List<Employee> emps = q.list();
Run Code Online (Sandbox Code Playgroud)

现在如果我想获取int和String我该怎么办?

Query q = session.createQuery(""SELECT E.firstName,E.ID FROM Employee E";
List ans = q.list();
Run Code Online (Sandbox Code Playgroud)

现在列表的结构是什么?

java hibernate hql

20
推荐指数
2
解决办法
7万
查看次数

带有createSQLQuery的ResultTransformer强制实体字段中没有camelCase

我有一个SQL查询如下:

List<Employee> employees = getCurrentSession()
                    .createSQLQuery(
                            "select"
                                    + e.id as id,e.first_name as firstName,e.password as password
                                    + "from employee e,employee_role er,role r where e.employee_id=er.employee_id and er.role_id=r.role_id and r.name='ROLE_ADMIN' ")
                    .setResultTransformer(Transformers.aliasToBean(Employee.class))
                    .list();
Run Code Online (Sandbox Code Playgroud)

我在Employee中有一个名为firstName的属性,但是当在单元测试中尝试在dao上运行时,我收到以下异常:

org.hibernate.PropertyNotFoundException: Could not find setter for firstname on class com.app.domain.Employee
Run Code Online (Sandbox Code Playgroud)

我不知道hibernate从这个firstname属性中得到了什么?我的查询中没有对它?

任何方式的解决方法是将属性更改为firstname,getter,setter,但任何想法为什么hibernate正在进行此类行为,以及如何避免它,因为我想在我的域中使用camelCase,请指教.

postgresql hibernate

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

StaleObjectstateException行已更新或删除

我在使用hibernate的基于spring框架的Web应用程序的控制器中获得此异常.我已经尝试了很多方法来解决这个问题,但无法解决它.

在控制器的方法中,handleRequestInternal对数据库的调用主要是为了"读取",除非它是一个提交动作.我一直在使用,Spring的Session但是转移到getHibernateTemplate()了,问题仍然存在.

基本上,这对数据库的第二次调用会抛出此异常.那是:

1)getEquipmentsByNumber(number) {首先,基于'number'从DB获取设备,其具有属性列表,并且每个属性具有值列表.我循环遍历这些值(原始对象字符串)以读入变量)

2)getMaterialById(id){基于id获取材料}

我确实理解第二次调用很可能是使会话"刷新",但我只是"读取"对象,那么为什么第二次调用会在Equipment属性上抛出过时的对象状态异常,如果没有任何改变的话?

我无法在调用后清除缓存,因为它会导致我传递给视图的对象上的LazyExceptions.

我读过这个:https: //forums.hibernate.org/viewtopic.php?f = 1&t = 99635&start = 0 但根据提供的建议无法解决问题.

我该如何解决这个问题?任何想法和想法都表示赞赏.

更新: 我刚刚测试的是,在getEquipmentsByNumber()从属性列表中读取变量后的函数中,我这样做:getHibernateTemplate().flush();现在异常就在这一行而不是调用fetch材料(即getMaterialById(id)).

更新: 在显式调用flush之前,我从会话缓存中删除对象,以便缓存中没有过时的对象.

getHibernateTemplate().evict(equipment);
getHibernateTemplate().flush();
Run Code Online (Sandbox Code Playgroud)

好的,现在问题已经转移到我执行此操作后从DB中的下一次提取.我想我必须将方法标记为已同步,并在我阅读完内容后立即逐出对象!听起来不太好.

更新: 使handleRequestInternal方法"同步".错误消失了.当然,不是最好的解决方案,而是做什么!试图handleRequestInternal关闭当前会话并打开一个新会话.但它会导致应用程序的其他部分无法正常工作.试图使用ThreadLocal那也不起作用.

java spring hibernate exception staleobjectstate

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

eclipse无法删除某些断点

双击eclipse左侧的蓝色条设置断点.再次双击删除断点.这对我来说很有用,但是如果我使用git来检查不同的分支,那么断点的蓝点常常会"混乱"或者其他东西.我再也不能双击以取消它们.我被迫进入调试透视图,在"断点"视图中找到断点,然后右键单击并删除.有没有人有一个更简单的解决方案?我正在使用Windows 7中的java进行编码以获得它的价值.

我可以使用此代码重现此错误(假设if是第1行):

if(bool)
{
  // comment
  doSomething();
} else {
  doOther();
}
Run Code Online (Sandbox Code Playgroud)

我在第4行断点 - doSomething().然后我在if上方放了一条新线,将所有东西都移开.(在第5行移动断点).然后我做git stash save.当我点击回到eclipse时,蓝点显示在正确的行上,但是断点窗口仍然显示第5行.如果我双击以禁用,它实际上在第4行添加了第二个断点.

我觉得我应该向Eclipse人员报告.

java eclipse breakpoints

16
推荐指数
4
解决办法
1万
查看次数

15
推荐指数
2
解决办法
5万
查看次数

Hibernate使用标准和限制加入

我有2个实体

PayoutHeader.java

@Entity
public class PayoutHeader extends GenericDomain implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;        
    @Column
    private Integer month;
    @Column
    private Integer year;
    @OneToOne
    private Bank bank;
    @Column
    private Double tdsPercentage;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date **chequeIssuedDate**;

    @Temporal(javax.persistence.TemporalType.DATE)
    private Date entryDate;

}
Run Code Online (Sandbox Code Playgroud)

PayoutDetails .java

@Entity
public class PayoutDetails {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;        

    @ManyToOne
    private PayoutHeader payoutHeader;

    @Column
    private Double amount;
    @Column
    private String bankName;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date clearingDate;
    @OneToOne    
    private Advisor advisor;

    @Column
    private Long …
Run Code Online (Sandbox Code Playgroud)

java hibernate hibernate-criteria

14
推荐指数
1
解决办法
5万
查看次数

Hibernate中bag标签的用途是什么?

我需要知道如何使用bag标签,它的目的是什么?

java orm hibernate hibernate-mapping

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

RecyclerView重新计算WRAP_CONTENT

随着23.2版本,我们现在可以使用WRAP_CONTENTrecyclerView高度,这是伟大的.我这样做,但是我想在将项目添加(或删除)到适配器后重新计算高度(从而增加或减少高度).

我的特别RecyclerView是从1个项目开始,然后在用户进行选择时添加项目.所以我需要RecyclerView布局来增加高度,直到一点.理想情况下,当列表增加或减少时,平滑动画会发生这种情况.

WRAP_CONTENT布局后如何制作?

尝试:

recyclerview.requestLayout();

recyclerview.invalidate();
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

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

Hibernate使用条件执行更新

是否有可能同时使用执行更新CriteriaHibernate?例如:

Session session = getSession();
Criteria crit = session.createCriteria(User.class);
crit.add(Restrictions.eq("token", sessionToken));

User user= new User();
Transaction tx = session.getTransaction();
try 
{
    tx.begin();
    session.updateWithCriteria(user, crit); //my imaginary function 
    tx.commit();
}
catch (Exception e) 
{
    e.printStackTrace();
    tx.rollback();
}

session.close();
Run Code Online (Sandbox Code Playgroud)

java sql orm hibernate

11
推荐指数
2
解决办法
4万
查看次数

使用电话号码和密码的 Firebase 身份验证

我正在使用 Firebase 开发 Android 应用程序。因此,我想使用 Firebase 身份验证。我有以下要求:

  • 使用 Facebook 注册/登录
  • 使用电子邮件/密码注册/登录
  • 使用电话号码/密码注册/登录

前两个还可以,我是按照基本教程来的。但是,电话号码/密码是这里的问题。Firebase 仅支持电话号码/短信令牌(称为电话身份验证),但没有提及我的情况。我不想破解 Firebase 并使用其实时数据库而不是 Auth 'database'。有没有更好的方法来实现这一目标?

谢谢你。

authentication android firebase firebase-authentication

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