私はSpring MVCの新機能ですが、そのメソッドとその参照方法を理解しようとしています。私がフォローしているビデオチュートリアルコースがあります。session.get()はフィールド、引数を解決することができません
私はクラスを通してモデルを実装しようとしています。
ProductDaoImpl.java
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class ProductDaoImpl implements ProductDao {
@Autowired
private SessionFactory sessionFactory;
@Override
public void addProduct(Product product) {
Session session = sessionFactory.getCurrentSession();
session.saveOrUpdate(product);
session.flush();
}
@Override
public Product getProductById(String id) {
Session session = sessionFactory.getCurrentSession();
Product product = (Product) session.get(Product.class.productId);
// unable to resolve the productId on get()
return product;
}
@Override
public List<Product> getAllProducts() {
return null;
}
@Override
public void deleteProduct(String id) {
}
}
ProductDao.java
import java.util.List;
public interface ProductDao {
void addProduct(Product product);
Product getProductById(String id);
List<Product> getAllProducts();
void deleteProduct(String id);
}
Product.javaモデル
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.AUTO) //tells the system that when an instance is put to database, it will be numbered automatically starting from 1
private String productName;
private String productCategory;
private String productDescription;
private double productPrice;
private String productDimension;
private String productStatus;
private int unitInStock;
private String productManufacturer;
private String productId;
}
は、しかし、それは
@Override
public Product getProductById(String id) {
Session session = sessionFactory.getCurrentSession();
Product product = (Product) session.get(Product.class.productId);
return product;
}
でPRODUCTID引数はProduct.class
のフィールドにアクセスすることができget()
方法であり、解決することができませんでしですか? それは私はあなたが役立つことを願っproductId
を解決できない理由を私は理解していないProduct.class.fieldHere?
にフィールドを求めています。
ありがとうございました。
Springでは、DAOをSpring Dataによって完全に自動生成できることに注意してください。インターフェイスを宣言するだけで、DAOロジックが構築されます。 – chrylis