小编aki*_*ila的帖子

将@Id用于同一个类中的多个字段

我是Hibernate的新手,必须支持使用Hibernate的现有应用程序它是一个纯粹的报告应用程序 - 没有插入/更新/删除 - 只选择

我可以看到现有的POJO对象,它们在同一个类中的多个字段中使用了@Id注释

我的理解是,对于复合主键 - 您需要使用@Embeddable和@EmbeddedId

然而,这在我的课程中没有定义,奇怪的是代码编译并运行得很好

这是我的代码示例:

package com.xyz.vo;

import java.io.Serializable;
import javax.persistence.*;
import org.hibernate.annotations.GenericGenerator;

@Entity(name="com.xyz.vo.Emp")
@Table(name = "TEmployee")
public class Emp implements Serializable    {
private java.lang.Integer  empId;
@Id 
@Column(name = "EMP_ID")   
public java.lang.Integer  getEmpId(){   
    return this.empId;
}

public  void  setEmpId(java.lang.Integer empId){    
    this.empId=empId;
}

private java.lang.Integer  empAge;
@Id 
@Column(name = "EMP_AGE")   
public java.lang.Integer  getEmpAge(){  
    return this.empAge;
}

    public  void  setEmpAge(java.lang.Integer empAge){  
    this.empAge=empAge;
}

    private String empName;
    @Column(name = "EMP_NAME")   
public String  getEmpName(){    
    return this.empName;
}

    public …
Run Code Online (Sandbox Code Playgroud)

hibernate

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

如何识别日期是否在 10 月 1 日至 5 月 31 日之间,而不管 Javascript 中的年份如何

所以我正在开发一个 JavaScript 应用程序,我需要计算每月消耗的公用事业费用。水电费有不同的费率

  • 冬季费率(6 月 1 日至 9 月 30 日)--> 较高费率
  • 夏季价格(10 月 1 日至 5 月 31 日)

因此,当我需要计算月份的账单时,可以说:4 月 25 日 - 5 月 22 日,那么这需要确定为夏季。
所以我需要计算计费日期是夏季还是冬季。

我正在尝试做一些以下形式的事情,但这是代码中的很多杂耍。

我如何计算给定日期是在10 月至 5 月(夏季)之间还是在6 月至 9 月(冬季)之间

注意 - 我需要忽略年份

if (
  dateFrom.getMonth() >= vendorSummerStartDate.getMonth() &&
  dateFrom.getDate() >= vendorSummerStartDate.getDate() &&
  dateTo.getMonth() <= vendorSummerEndDate.getMonth() &&
  dateTo.getDate() <= vendorSummerEndDate.getDate()
) { /*... */ }
Run Code Online (Sandbox Code Playgroud)

javascript

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

java jdbc和oracle - 超出了最大打开游标数

我有一些从Oracle检索数据的JDBC代码.

在我的方法中,我使用预备语句,但是我没有关闭那个准备好的语句.为了测试它,我在一个循环中运行它,当然我得到了一个例外:

ORA-01000: maximum open cursors exceeded
Run Code Online (Sandbox Code Playgroud)

我的问题是托管环境(使用连接池在Java EE Application Server上部署的代码):

  • 应用程序会发生什么?
  • 除非关闭/回收连接,否则它永远无法向数据库发出任何SQL查询?(假设池中只有1个连接)

我假设池中的连接并没有真正关闭 - oracle会话将会活着.

java oracle jdbc

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

iOS应用内购买 - 查询截图以供审核

我尝试使用谷歌搜索,但没有得到任何确定的答案:是否需要屏幕截图才能进行应用内购买?

我的应用程序已经存在于应用商店中 - 屏幕截图真的与应用程序截图有关吗?

我的应用程序内购买实际上是非消费品 - 这就像在游戏中添加更多积分/硬币一样

所以我的情况下没有截图是有道理的

有什么想法吗?
由于
阿基拉

in-app-purchase ios5

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

带有方法参考的 Java 8 比较器

试图理解方法引用,但我很难理解。坚持比较器示例。

为了让我的大脑更轻松,我一直从基础开始(匿名类实现 >> laba 表达式 >> 方法引用)它是方法引用和比较器示例,我无法让它工作。

我想排序的 POJO(从一些互联网示例中提取 - mkyong)

public class Fruit{
   private int quantity;
   private String name;
   ....
}
Run Code Online (Sandbox Code Playgroud)

创建要使用的测试数据:

Fruit[] fruits = new Fruit[3];
Fruit pineapple = new Fruit("pineapple",10);
Fruit orange= new Fruit("orange",4);
Fruit kiwi= new Fruit("kiwi",15);

fruits[0] = pineapple;
fruits[1] = orange;
fruits[2] = kiwi;
Run Code Online (Sandbox Code Playgroud)

匿名排序类实现:

Comparator<Fruit> anonymousSortByname = new Comparator<Fruit>(){
     public int compare(Fruit f1,Fruit f2){
        return f1.getName().compareTo(f2.getName());
     }
};
Run Code Online (Sandbox Code Playgroud)

排序 :

Arrays.sort(fruits,anonymousSortByname);
Run Code Online (Sandbox Code Playgroud)

既然这可行,我已经明白匿名类可以转换为 lambda 表达式(前提是它们是功能接口等......)

Lambda 实现:

Comparator<Fruit> lambdaSortByname = 
 (Fruit f1,Fruit f2) -> …
Run Code Online (Sandbox Code Playgroud)

lambda java-8 method-reference

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

Oracle查询返回同一组数据的不同结果

我面临着一个奇怪的问题,即同一个查询返回不同的结果.

我的查询是:

SELECT * FROM TX_HISTORY  WHERE acct = 7  AND ROWNUM 

发生的事情是,我知道对于这个帐户,tx_history中有超过100条记录.我想根据处理日期获得前100条记录.我的这个帐户的数据是我有2004年至2011年的记录

问题是有时它正确地显示从2004年开始的100条记录 - 但有时它会显示我从2005年开始的100条记录

我读到这可以通过以下方式解决:

SELECT * FROM (select * from TX_HISTORY  WHERE acct = 7  ORDER BY acct,processing_date)
where rownum 

所以在我之前的查询中是:1>我的理解是在rownum <= 100之后应用order by并且oracle返回的结果是随机顺序,其中行num是过滤的

虽然不明白为什么结果会有所不同谢谢,〜akila

oracle

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