小编che*_*iov的帖子

泽西岛JSON和日期

我将JSON解析为Date对象时遇到问题.

我使用Jersey 1.14,Tomcat 7.

我的资源类:

    @Path("/user")
    @Produces(MediaType.APPLICATION_JSON)
    public class UserResource {
        @Path("/~/update")
        @POST
        @Consumes(MediaType.APPLICATION_JSON)
        public Response updateUser(User user) {
            // There are update in DB
            // but Date field always null
            return Response.ok().build();
        }
        @Path("/~/get")
        @GET
        public User getUser() {
            // There are I fetch User from DB
            // Works fine, User instance returns in correct JSON
            return user;
        }

    }
Run Code Online (Sandbox Code Playgroud)

我的型号:

    @XmlAccessorType(XmlAccessType.NONE)
    @XmlRootElement(name = "user")
    public class User {
        @XmlElement(name = "name")
        private String name;
        @XmlElement(name = "myDate")
        @XmlJavaTypeAdapter(DateAdapter.class) …
Run Code Online (Sandbox Code Playgroud)

java rest json jersey

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

Spring Data Repository for Entity,其中外键也是主键

我在使用 JPA2 (EclipseLink) 和 Spring Data 1.4.2 时遇到一些问题。就我而言,两个表具有一对一的关系:

表A:

  • 辅助 (PK)
  • ...

表B:

  • bId(PK、FK - 映射到表 A 中的 aId)
  • ...

所以我尝试做这个实体:

实体A:

@Entity
@Table(name = "TableA")
public class EntityA implements Serializable {
    @Id
    @GeneratedValue
    @Column(name = "aId")
    private Long id;
    // another fields and getter/setter/business methods
    ... 
}
Run Code Online (Sandbox Code Playgroud)

实体B:

@Entity
@Table(name = "TableB")
public class EntityB {
    @Id
    @OneToOne
    @JoinColumn(name = "bId", referencedColumnName = "aId")
    private EntityA id;
    // another fields and getter/setter/business methods
    ... 
}
Run Code Online (Sandbox Code Playgroud)

EntityA 的 Spring Data …

java spring jpa foreign-key-relationship spring-data-jpa

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

动态数据源路由

对不起,我的英语不好.我为AbstractRoutingDataSource编写了实现:

public class DatabaseRoutingDataSource extends AbstractRoutingDataSource{

    @Override
    protected Object determineCurrentLookupKey() {      
        return DatabaseContextHolder.getDatabaseType();
    }

}
Run Code Online (Sandbox Code Playgroud)

我创建了用于在数据库之间切换的新类:

public class DatabaseContextHolder {

    private static final ThreadLocal<DatabaseType> contextHolder = new ThreadLocal<DatabaseType>();

    public static void setDatabaseType(DatabaseType databaseType) {
        contextHolder.set(databaseType);
    }

    public static DatabaseType getDatabaseType() {
        return (DatabaseType) contextHolder.get();
    }

    public static void clearDatabaseType() {
        contextHolder.remove();
    }
}
Run Code Online (Sandbox Code Playgroud)

其中DatabaseType是:

public enum DatabaseType {
    MAIN,
    BACKUP
}
Run Code Online (Sandbox Code Playgroud)

在我的beans.xml中:

<bean id="mainDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="java:/jdbc/DBMIDS"/>
</bean>
<bean id="backupDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="java:/jdbc/DBMIDS2"/>
</bean>
<bean id="dataSource" class="DatabaseRoutingDataSource">
    <property …
Run Code Online (Sandbox Code Playgroud)

java spring datasource

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