小编elc*_*dro的帖子

将XMLGregorianCalendar转换为java.sql.Timestamp

我正在尝试将XMLGregorianCalendar日期分配给java.sql.Timestamp var,就像这样......

var1.setTimeStamp(Timestamp.valueOf(var2.getXMLGregorianCalendar().toString()))
Run Code Online (Sandbox Code Playgroud)

但显然,这不起作用,抛出异常......

java.lang.IllegalArgumentException:时间戳格式必须为yyyy-mm-dd hh:mm:ss [.fffffffff]

我也尝试过这个:

var1.setTimeStamp((Timestamp) var2.getXMLGregorianCalendar().getTime())
Run Code Online (Sandbox Code Playgroud)

但...

java.lang.ClassCastException:java.util.Date无法强制转换为java.sql.Timestamp

有任何想法吗..?谢谢!

java timestamp date gregorian-calendar

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

继承JPA和Hibernate问题

我加载一些对象时遇到了一个奇怪的问题.我正在使用JPA 1,hibernate-core版本3.3.0.SP1和hibernate-entitymanager版本3.4.0.GA

假设我有这些JPA实体:

@Entity
@Table(name = "SLC_ELE")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(discriminatorType = DiscriminatorType.INTEGER, name = ElementoPrograma.C_ID_CTG_ELE)
public class Element {
...
} 

@Entity
@Table(name = "SLC_ELE_ONE")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorValue(Categories.ID_CTG_ONE)
public class ElementTypeOne extends Element {
    ...
}

@Entity
@Table(name = "SLC_ELE_TWO")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorValue(Categories.ID_CTG_TWO)
public class ElementTypeTwo extends Element {
    ...
} 

@Entity
@Table(name = ThreeElementExample.TABLENAME)
@AssociationOverrides({
    @AssociationOverride(name = JpaMany3ManyEntity.ASOCIATION_OVERRIDE_ONE,
    joinColumns =
    @JoinColumn(name = Element.C_ID_ELE)),
    @AssociationOverride(name = JpaMany3ManyEntity.ASOCIATION_OVERRIDE_TWO,
    joinColumns =
    @JoinColumn(name = OneEntity.C_ID_TWO)),
    @AssociationOverride(name = JpaMany3ManyEntity.ASOCIATION_OVERRIDE_THREE,
    joinColumns = …
Run Code Online (Sandbox Code Playgroud)

java inheritance hibernate jpa

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

JPA继承问题

使用JPA 1(hibernate-core版本3.3.0.SP1和hibernate-entitymanager版本3.4.0.GA):我有一些类似于下面定义的实体,其中ChildOne和ChildTwo从父实体扩展.

@Entity
@Table(name = "TABLE_FATHER")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(discriminatorType = DiscriminatorType.INTEGER, name = Father.C_ID_CTG)
public class Father {

@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "sq")
@Column(name = "ID_PK", nullable = false)
@BusinessId
private Long id;
...
} 

@Entity
@Table(name = "TABLE_CHILD_ONE")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorValue(Categories.ID_CTG_ONE)
public class ChildOne extends Father {
    ...
}

@Entity
@Table(name = "TABLE_CHILD_TWO")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorValue(Categories.ID_CTG_TWO)
public class ChildTwo extends Element {
    ...
} 
Run Code Online (Sandbox Code Playgroud)

假设我有一个拥有父元素的实体,另一个拥有父元素的集合.在这两种情况下,应该去儿童实体.

@Entity
@Table(name = "TABLE_ONE")
public class OneTable {

@JoinColumn(name …
Run Code Online (Sandbox Code Playgroud)

java inheritance hibernate jpa

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

在Oracle数据库中插入带有JdbcTemplate的时间戳(ORA-01858)

我已经阅读了很多关于这个错误的内容,但仍然没有发现错误.

我正在使用JdbcTemplate在一些带有一些时间戳列的表中插入一行我很确定时间戳是问题所在,好像从插入中删除它工作正常)

我的代码:

        private static final String INSERT_CITAS = "INSERT INTO CITAS (" 
        + "idCita, idServicio, " + "fechaCita, "
        + "idEstado, idUsuarioInicial) " + "VALUES (?, ?, ?, ?, ?)";

        Object[] params = {
                idCita,
                citaQuenda.getIdServicio(),
                getDateToDBFormat(citaQuenda.getFechaCita()),
                ESTADO_INICIAL,
                USUARIO_INICIAL };

        String queryCitas = INSERT_CITAS;

        super.getJdbcTemplate().update(queryCitas, params);


        protected String getDateToDBFormat(Date fechaCreacion){
        return  "TO_TIMESTAMP('" + 
                    new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(fechaCreacion)
                    + "', 'yyyy-mm-dd hh24:mi:ss')" ;
        }
Run Code Online (Sandbox Code Playgroud)

并有下一个错误:

    org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [INSERT INTO citas_55 (idCita, idServicio, fechaCita, idEstado, idUsuarioInicial) VALUES (?, ?, ?, ?, …
Run Code Online (Sandbox Code Playgroud)

oracle timestamp date jdbc jdbctemplate

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

Java日历以毫秒为单位添加小时问题

我在这里有这个片段:

    Calendar cal = Calendar.getInstance();
    System.out.println("calendar " + cal.getTime());
    System.out.println("ms calendar" + cal.getTime().getTime());
    long ms0 = cal.getTime().getTime();
    cal.add(Calendar.HOUR, -1);
    System.out.println("calendar one hour less " + cal.getTime());
    System.out.println("ms calendar one hour less " + cal.getTime().getTime());
    long ms1 = cal.getTime().getTime();
    cal.setTimeInMillis(t0-t1);
    System.out.println("result " + cal.getTime());
Run Code Online (Sandbox Code Playgroud)

我期待两个日期之间只有一个小时的差异.而不是我得到这个奇怪的结果:

calendar Wed Sep 23 09:51:36 CEST 2015
ms calendar 1442994696681
calendar one hour less Wed Sep 23 08:51:36 CEST 2015
ms calendar one hour less 1442991096681
result Thu Jan 01 02:00:00 CET 1970
Run Code Online (Sandbox Code Playgroud)

我错了什么?正如我在日期中看到的那样,我应该如何获得一小时的差异?

任何形式的帮助将不胜感激.提前致谢.

java time calendar date

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

检测:将 org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper 转换为 oracle.jdbc.OracleConnection

我正在尝试检测我的 jdbc 连接。我知道关于这个话题有几个类似的问题。

到目前为止,我尝试了所有方法,但找不到解决问题的正确方法。也试过这个问题的答案,没有结果: Apache Commons DBCP connection object problem, Thread: ClassCastException in org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper

我正在使用 Tomcat 7 和 Java 7。这是我在 context.xml 中定义 oracle 连接池的地方:

<Resource name="jdbc/myDS" 
        type="javax.sql.DataSource"
        auth="Container"
        maxActive="350"
        maxIdle="50" 
        minIdle="10" 
        maxWait="10000" 
        username="user_own"
        password="mypassw"
        accessToUnderlyingConnectionAllowed="true"   
        driverClassName="oracle.jdbc.driver.OracleDriver"
        url="jdbc:oracle:thin:@192.168.110.173:1521/orcl" />
Run Code Online (Sandbox Code Playgroud)

我的仪器代码:

private static void initInstrumentation(Connection con, final String usuario, final String modulo, final String accion) throws Exception {

    if (Utils.getParameter("instrumentation.active").equals("1")) {

        try {

            OracleConnection oracleConnection = null;
            //This is where I try to get the oracle connection, but no succeed
            if (con …
Run Code Online (Sandbox Code Playgroud)

oracle instrumentation jdbc tomcat7 ojdbc

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