我正在尝试将数据插入到我已附上它的屏幕截图的 Oracle 数据库中。在包含所有列和表的模型包中创建了一个实体类。附加的数据库详细信息中有一个 id 列是自动增加的。主要问题是使用 id 列的自动递增数据@GeneratedValue(strategy = GenerationType.IDENTITY)它没有给我指定此实体的身份,下面附上错误的详细信息。因此,为此创建了该实体类的对象并使用 save 方法我试图保存相同但由于该标识符的错误,它没有被保存。
这是我的实体类,其中包含表和列
package com.sid.demo.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
//import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import org.springframework.data.annotation.Id;
@Table(name="user_registration") //this is a table present in my oracle database
@Entity
public class hindalco_model
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY) //this is where problem exists
@Column(name="user_id",updatable=false,nullable=false)
private Long user_id; //this is column a present in oracle database which is auto incremented
@Column(name="user_name")
private String user_name;
@Column(name="email")
private String email;
@Column(name="password")
private …Run Code Online (Sandbox Code Playgroud) 我有一个存储库文件共享相同的源代码,还有一个控制器类,通过它我可以调用 @query 函数来获取更新语句。我想将一列数据更新到我的 Oracle 数据库中,我已为其编写了 JPA update @query 并将该函数定义到存储库文件之一中,因此从我的控制器类之一进行调用无法执行查询。
存储库文件
package com.sid.demo.repository;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import com.sid.demo.model.hindalco_model;
public interface update_password extends JpaRepository<hindalco_model,Integer>
{
@Query(value="update USER_REGISTRATION set password = :password WHERE user_name = :user_name and email = :email",nativeQuery=true)
List<String> findbyuser_update(@Param("password") String password,String user_name,String email);
}
Run Code Online (Sandbox Code Playgroud)
控制器类
@RequestMapping(value="/update_password",method = RequestMethod.POST)
public String update_password(@RequestParam String password)
{
//String rnumber_verified=randomNumber;
//int random_otp_verified=Integer.parseInt(rnumber_verified);
//System.out.println("update query string value = "+hindalco_user_login12);
System.out.println("user_name outside try = "+user_name12);
System.out.println("email outside try = …Run Code Online (Sandbox Code Playgroud)