জেপিএতে একাধিক অনন্য বাধা


84

জেপিএ ব্যবহার করে নির্দিষ্ট করার কোনও উপায় আছে যে কলামের বিভিন্ন সেটে একাধিক অনন্য বাধা থাকতে পারে?

@Entity
@Table(name="person", 
       uniqueConstraints=@UniqueConstraint(columnNames={"code", "uid"}))
public class Person {
    // Unique on code and uid
    public String code;
    public String uid;

    // Unique on username
    public String username;

    public String name;
    public String email;
}

আমি একটি হাইবারনেট নির্দিষ্ট টীকাটি দেখেছি তবে আমি বিক্রেতার নির্দিষ্ট সমাধানগুলি এড়াতে চাইছি কারণ আমরা এখনও হাইবারনেট এবং ডেটানুক্লিয়াসের মধ্যে সিদ্ধান্ত নিচ্ছি।

উত্তর:


130

@Tableএর অ্যাট্রিবিউট uniqueConstraintsআসলে এগুলোর একটি অ্যারের গ্রহণ করে। আপনার উদাহরণটি একটি একক উপাদান সহ অ্যারের জন্য কেবল একটি সংক্ষিপ্তকরণ। অন্যদিকে এটি দেখতে হবে:

@Table(name="person",  uniqueConstraints={
   @UniqueConstraint(columnNames={"code", "uid"}),
   @UniqueConstraint(columnNames={"anotherField", "uid"})
})

যখনই অনন্য বাধা কেবল একটি ক্ষেত্রের উপর ভিত্তি করে আপনি @Column(unique=true)সেই কলামটিতে ব্যবহার করতে পারেন ।


4
আমার কাছে বর্তমানে এই টীকাটি রয়েছে, তবে মনে হচ্ছে হাইবারনেট টেবিলটির জন্য সূচি তৈরি করছে না টেবিলটি ইতিমধ্যে উপস্থিত রয়েছে (এবং এটি আপডেট করার জন্য সেট করা আছে) অথবা যদি আমি টেবিলটি সরিয়ে দিয়ে হাইবারনেটকে স্বয়ংক্রিয়ভাবে এটি তৈরি করতে দিই। আমি কিছু অনুপস্থিত করছি?
কেভিন এম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.