Skip to content
Konstantin Triger edited this page Aug 10, 2019 · 9 revisions

Other basic clauses: SELECT:Fundamentals, UPDATE, DELETE

insert multiple rows

FluentQuery query = FluentJPA.SQL((Link link) -> {

    INSERT().INTO(viewOf(link, Link::getUrl, Link::getName);
    VALUES(row("http://www.google.com", "Google"),
           row("http://www.yahoo.com", "Yahoo"),
           row("http://www.bing.com", "Bing"));
});

insert date

FluentQuery query = FluentJPA.SQL((Link link) -> {

    INSERT().INTO(viewOf(link, Link::getUrl, Link::getName, Link::getLastUpdate));
    VALUES(row("http://www.facebook.com", "Facebook", DATE.literal("2013-06-01")));
});

FluentQuery query = FluentJPA.SQL((Link link) -> {

    INSERT().INTO(viewOf(link, Link::getUrl, Link::getName, Link::getLastUpdate));
    VALUES(row("https://www.tumblr.com/", "Tumblr", DEFAULT()));
});

insert data from another table

// same structure - derivation
@Tuple
@Table(name = "link_tmp")
public static class LinkTmp extends Link {
}

FluentQuery query = FluentJPA.SQL((LinkTmp linkTmp,
                                   Link link) -> {
    INSERT().INTO(linkTmp);
    SELECT(link);
    FROM(link);
    WHERE(link.getLastUpdate() != null);
});

Clone this wiki locally