教程 > spring boot orm > 阅读:35

spring boot orm 更新eclipselink项目——迹忆客-ag捕鱼王app官网

spring boot 使用 hibernatejpaautoconfiguration 默认配置休眠实现。 为了切换到 eclipselink,我们需要创建一个自定义配置类,它将继承 jpabaseconfiguration 类。 jpabaseconfiguration 是用于为任何 orm 实现扩展和配置 jpa 的基类。 以下是 eclipslinkjpaconfiguration 的代码。

eclipslinkjpaconfiguration.java

package com.spring.springbootorm;
import java.util.hashmap;
import java.util.map;
import javax.sql.datasource;
import org.eclipse.persistence.config.persistenceunitproperties;
import org.eclipse.persistence.logging.sessionlog;
import org.springframework.beans.factory.objectprovider;
import org.springframework.boot.autoconfigure.orm.jpa.jpabaseconfiguration;
import org.springframework.boot.autoconfigure.orm.jpa.jpaproperties;
import org.springframework.context.annotation.bean;
import org.springframework.context.annotation.configuration;
import org.springframework.jdbc.datasource.drivermanagerdatasource;
import org.springframework.orm.jpa.vendor.abstractjpavendoradapter;
import org.springframework.orm.jpa.vendor.eclipselinkjpavendoradapter;
import org.springframework.transaction.jta.jtatransactionmanager;
@configuration
public class eclipslinkjpaconfiguration extends jpabaseconfiguration {
   protected eclipslinkjpaconfiguration(datasource datasource, jpaproperties properties,
      objectprovider jtatransactionmanager) {
      super(datasource, properties, jtatransactionmanager);
   }
   @override
   protected abstractjpavendoradapter createjpavendoradapter() {
      return new eclipselinkjpavendoradapter();
   }
   @override
   protected map getvendorproperties() {
      map map = new hashmap<>();
      map.put(persistenceunitproperties.weaving, "false");
      map.put(persistenceunitproperties.logging_level, sessionlog.finer_label); 
      map.put(persistenceunitproperties.ddl_generation, persistenceunitproperties.create_only);
      map.put(persistenceunitproperties.logging_level, sessionlog.finer_label); 
      return map;
   }
   @bean
   public static datasource datasource() {
      final drivermanagerdatasource datasource = new drivermanagerdatasource();
      datasource.setdriverclassname("com.mysql.cj.jdbc.driver");
      datasource.set;
      datasource.setusername("root");
      datasource.setpassword("root@123");
      return datasource;
   }
}

我们分别使用 createjpavendoradapter()datasource()getvendorproperties() 方法添加了 adapter、datasource 和属性。

也更新实体以使用整数而不是 int。

package com.spring.springbootorm.entity;
import javax.persistence.entity;
import javax.persistence.generatedvalue;
import javax.persistence.generationtype;
import javax.persistence.id;
@entity
public class employee {
   @id
   @generatedvalue(strategy = generationtype.identity)
   private integer id;
   private string name;
   private integer age;
   private string email;
   public integer getid() {
      return id;
   }
   public void setid(integer id) {
      this.id = id;
   }
   public string getname() {
      return name;
   }
   public void setname(string name) {
      this.name = name;
   }
   public integer getage() {
      return age;
   }
   public void setage(integer age) {
      this.age = age;
   }
   public string getemail() {
      return email;
   }
   public void setemail(string email) {
      this.email = email;
   }
}

查看笔记

扫码一下
查看教程更方便
网站地图